package cn.dansj.common.utils.json;

import com.fasterxml.jackson.databind.cfg.DatatypeFeature;

enum NumericFeature implements DatatypeFeature {
    USE_STRING_FOR_NUMERIC(false),
    ;
    private final static int FEATURE_INDEX = 0;

    private final boolean _enabledByDefault;

    private final int _mask;

    NumericFeature(boolean enabledByDefault) {
        _enabledByDefault = enabledByDefault;
        _mask = (1 << ordinal());
    }

    @Override
    public boolean enabledByDefault() {
        return _enabledByDefault;
    }

    @Override
    public boolean enabledIn(int flags) {
        return (flags & _mask) != 0;
    }

    @Override
    public int getMask() {
        return _mask;
    }

    @Override
    public int featureIndex() {
        return FEATURE_INDEX;
    }
}
